/* src/setup.h. Generated from setup.h.cmake.in by CMake. */
/***************************************************************************
 * setup.h
 *
 * This file is a collection of the user-tunable parameters for Coin.
 * You can edit the setting of the below defines to alter how Coin behaves.
 *
 * Note that this file comes from a template file called "setup.h.cmake.in".
 * Editing the template file does nothing - make sure you are editing the
 * file "setup.h".
 */

/***************************************************************************
 * HAVE_VRML97
 *
 * If you want to disable VRML97 support in Coin, do not set this define.
 *
 * The reason to disable this is mostly to avoid compiling a lot of code
 * that causes the Coin library to grow considerably if you need a
 * particularly small version of Coin.
 *
 * Default is to have VRML97 support enabled.
 */

#cmakedefine HAVE_VRML97

/***************************************************************************
 * HAVE_NODEKITS
 *
 * If you want to disable nodekits in Coin, do not set this define.
 * This will also disable draggers and manipulators, as they are built on
 * top of the nodekit system.  It also disables the SoForeignFileKit and
 * its derived classes, and the builtin profiler statistics visualization.
 *
 * The reason to disable this is mostly to avoid compiling a lot of code
 * that causes the Coin library to grow in size if you need a particularly
 * small version of Coin.
 *
 * Default is to have nodekit support enabled.
 */

#cmakedefine HAVE_NODEKITS

/***************************************************************************
 * HAVE_DRAGGERS
 *
 * If you want to disable draggers in Coin, do not set this define.
 * This will also disable manipulators, as they are heavy users of draggers.
 *
 * The reason to disable this is mostly to avoid compiling a lot of code
 * that causes the Coin library to grow in size if you need a particularly
 * small version of Coin.
 *
 * Default is to have dragger support enabled.
 */

#cmakedefine HAVE_DRAGGERS

/***************************************************************************
 * HAVE_MANIPULATORS
 *
 * If you want to disable manipulators in Coin, do not set this define.
 *
 * The reason to disable this is mostly to avoid compiling a lot of code
 * that causes the Coin library to grow in size if you need a particularly
 * small version of Coin.
 *
 * Default is to have manipulators support enabled.
 */

#cmakedefine HAVE_MANIPULATORS

/***************************************************************************
 * HAVE_SOUND
 *
 * Define this if you want Coin to have sound support.  You will need
 * OpenAL on the runtime system as well for sound to work.
 *
 * Default is to have sound enabled.
 */

#cmakedefine HAVE_SOUND

/***************************************************************************
 * COIN_THREADSAFE
 *
 * If you want to enable extra code in Coin that makes render traversals
 * multi-thread safe, enable this define.  This does not make the whole of
 * Coin thread safe - just doing parallel render traversals on multipipe
 * systems.
 *
 * Default is to have thread safety code disabled.  It is disabled because
 * it costs a lot of overhead in the most common cases where it is not
 * necessary.
 */

#cmakedefine COIN_THREADSAFE

/***************************************************************************
 * HAVE_3DS_IMPORT_CAPABILITIES
 *
 * If you want to be able to import .3ds files directly into Coin, set this
 * define.
 *
 * Default is to have 3ds import enabled.
 */

#cmakedefine HAVE_3DS_IMPORT_CAPABILITIES

/***************************************************************************
 * COIN_HAVE_JAVASCRIPT
 *
 * All the SpiderMonkey JavaScript code is wrapped in this
 * define.  This is done to make sure the code in Coin-2 and Coin-dev
 * is as equal as possible, making it easier to port fixes and
 * enhancements.
 *
 * Default is to have this define set.
 * If VRML97 is disabled, JavaScript support is also disabled.
 */

#cmakedefine COIN_HAVE_JAVASCRIPT

/***************************************************************************
 * The end.
 *
 * Make sure this header file is not installed, and only used when building
 * Coin itself.
 */

#ifndef COIN_INTERNAL
#error this is a private header file
#endif
